package com.rois.librois.libRoISComp;

/**
 * Data holder class for Component parameters.
 *
 * @author Miki Sato <miki.sato.1225@gmail.com>
 *
 *    The MIT licence
 *
 *    Copyright (C) 2011
 *      ATR Intelligent Robotics and Communication Laboratories, Japan
 *
 *    Permission is hereby granted, free of charge, to any person obtaining a copy
 *    of this software and associated documentation files (the "Software"), to deal
 *    in the Software without restriction, including without limitation the rights
 *    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
 *    of the Software, and to permit persons to whom the Software is furnished to do so,
 *    subject to the following conditions:
 *
 *    The above copyright notice and this permission notice shall be included in all
 *    copies or substantial portions of the Software.
 *
 *    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
 *    INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
 *    PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 *    HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 *    OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 *    SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */

public class LocalParameter {
	public String name = null;
	public String data_type_ref = null;
	public String default_value = null;
	public String current_value = null;
	public String codebook = null;

	/**
	 * create parameter holder.
	 * @param _name parameter name
	 * @param _data_type_ref data type of this parameter
	 * @param _default_value default value of this parameter
	 */
	public LocalParameter(
		String _name,
		String _data_type_ref,
		String _default_value
	)
	{
		name = _name;
		data_type_ref = _data_type_ref;
		default_value = _default_value;
		current_value = default_value;
	}

	/**
	 * create parameter holder with codebook for RoIS_Identifier.
	 * @param _name parameter name
	 * @param _data_type_ref data type of this parameter
	 * @param _default_value default value of this parameter
	 * @param _codebook codebook reference for RoIS_Identifier
	 */
	public LocalParameter(
		String _name,
		String _data_type_ref,
		String _default_value,
		String _codebook
	)
	{
		name = _name;
		data_type_ref = _data_type_ref;
		default_value = _default_value;
		current_value = default_value;
		codebook = _codebook;
	}

	/**
	 * set current value of this parameter.
	 * @param _value calue
	 */
	public void setParam(String _value)
	{
		current_value = _value;
	}

	/**
	 * get current value of this parameter.
	 * @return current value
	 */
	public String getParam()
	{
		return current_value;
	}

	/**
	 * get default value of this parameter.
	 * @return default value
	 */
	public String getDefaultParam()
	{
		return default_value;
	}
}
